package com.junchenrobot.mes.service;

import com.junchenrobot.mes.domain.Device;
import com.junchenrobot.mes.response.BaseResponse;
import com.junchenrobot.mes.vo.*;
import com.junchenrobot.mes.vo.param.PageParam;

import java.util.List;

/**
 * 任务服务
 *
 * @author SeaWave
 * @date 2023/01/04
 */
public interface TaskService {

    /**
     * 列出所有未完成的任务
     *
     * @param pageParam 页面参数
     * @return {@link PageRecordVo}<{@link TaskInfoVo}>
     */
    PageRecordVo<TaskInfoVo> listTask(PageParam pageParam);

    /**
     * 列出任务历史记录
     *
     * @param pageParam 页面参数
     * @return {@link PageRecordVo}<{@link TaskInfoVo}>
     */
    PageVo historyList(PageParam pageParam);

    /**
     * 列出所有未分配的任务
     *
     * @return {@link List}<{@link WaitingTaskVo}>
     */
    List<WaitingTaskVo> listWaitingTask();

    /**
     * 卷绕机络筒后停留时间列表
     * @return 卷绕机络筒后停留时间列表
     */
    List<WinderTimeVo> listWinderTime();

    /**
     * 卷绕机络筒后停留时间列表
     * @return 卷绕机络筒后停留时间列表
     */
    List<WinderTimeVo> blurListWinderTime(String winderName);
    /**
     * 查询所有avg小车信息
     */
    List<DeviceVo> deviceVoList();
}
